Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

map-files

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

map-files

Return an object for a glob of files. Pass a `rename` function for the keys, or a `parse` function for the content, allowing it to be used for readable or require-able files.

  • 0.1.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3.8K
increased by12.89%
Maintainers
1
Weekly downloads
 
Created
Source

map-files NPM version

Return an object for a glob of files. Pass a rename function for the keys, or a parse function for the content, allowing it to be used for readable or require-able files.

Install

Install with npm:
npm i map-files --save-dev

Run tests

npm test

Usage

var mapFiles = require('map-files');
console.log(mapFiles('lib/*.txt'));

Returns an object that looks something like:

{ 'fixtures/a.txt': { name: 'a.txt' , contents: 'This is file a.txt.' },
  'fixtures/b.txt': { name: 'b.txt' , contents: 'This is file b.txt.' },
  'fixtures/c.txt': { name: 'c.txt' , contents: 'This is file c.txt.' } }

API

mapFiles

  • patterns {String}: Glob patterns to pass to globby
  • opts {Object}: Options for globby, or pass a custom parse or rename.
  • returns: {Object}

Return an object for all files matching the given patterns and options. The full filepath of the file is used as the key.

Examples

options.rename

Pass a rename function to be used as the key of each file object:

var files = mapFiles('lib/*.txt', {
  rename: function (filepath) {
    return path.basename(filepath);
  }
});
console.log(files);

Returns something like:

{ 'fixtures/a.txt': { name: 'a' , contents: 'This is file a.txt.' },
  'fixtures/b.txt': { name: 'b' , contents: 'This is file b.txt.' },
  'fixtures/c.txt': { name: 'c' , contents: 'This is file c.txt.' } }

options.parse

Pass a parsing function to change the object returned for each file. The default function reads files and returns a string. This example shows how you might instead require each file.

var files = mapFiles('lib/*.txt', {
  parse: function (filepath) {
    return {
      path: filepath,
      fn: require(path.resolve(filepath))
    }
  }
});
console.log(files);

Returns something like:

{ 'fixtures/a.js': { path: 'fixtures/a.js' , fn: { foo: [Function: foo] } },
  'fixtures/b.js': { path: 'fixtures/b.js' , fn: { bar: [Function: bar] } },
  'fixtures/c.js': { path: 'fixtures/c.js' , fn: { baz: [Function: baz] } } }

Author

Jon Schlinkert

License

Copyright (c) 2014 Jon Schlinkert, contributors.
Released under the MIT license


This file was generated by verb-cli on September 20, 2014.

Keywords

FAQs

Package last updated on 20 Sep 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc